package main

import (
	"fmt"
	"time"
)

func init() {
	fmt.Println("main.go init")

}

func main() {
	// var intarr [6]int = [6]int{1, 2, 3, 4, 5, 6}
	// fmt.Println(intarr)

	// slice := intarr[1:3]
	// // 整个数组
	// fmt.Println("slice:", slice)
	// // 长度
	// fmt.Println("slice 的长度", len(slice))
	// // 容量
	// fmt.Println("slice 的容量", cap(slice))
	// var arr [3][3]int = [3][3]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
	// fmt.Println("arr:", arr)
	// for i := 0; i < len(arr); i++ {
	// 	for j := 0; j < len(arr[i]); j++ {
	// 		fmt.Println(arr[i][j])
	// 	}
	// }
	// fmt.Println("----------------")

	// for key, value := range arr {
	// 	for k, v := range value {
	// 		fmt.Println()
	// 		fmt.Printf("arr[%v][%v]=%v", key, k, v)
	// 	}
	// }

	// var arr3 = [3]int{3, 6, 9}
	// fmt.Println(arr3)
	// test1(&arr3)
	// fmt.Println(arr3)

	// var arr1 = [3]int{3, 6, 9}
	// fmt.Println(arr1)
	// fmt.Println("数组的类型为：%T", arr1)

	// // 第一种
	// var arr1 [3]int = [3]int{3, 6, 9}
	// fmt.Println(arr1)
	// // 第二种
	// var arr2 = [3]int{1, 2, 4}
	// fmt.Println(arr2)
	// // 第三种
	// var arr3 = [...]int{4, 5, 6, 7}
	// fmt.Println(arr3)
	// // 第四种
	// var arr4 = [...]int{2: 66, 0: 33, 3: 88}
	// fmt.Println(arr4)

	// var scores [5]int
	// for i := 0; i < len(scores); i++ {
	// 	fmt.Printf("请录入第%d个学生的成绩：", i+1)
	// 	fmt.Scanln(&scores[i])
	// }
	// fmt.Println("----------------")
	// for i := 0; i < len(scores); i++ {
	// 	fmt.Printf("第%d个学生的成绩：%d\n", i+1, scores[i])
	// }
	// fmt.Println("----------------")
	// for key, value := range scores {
	// 	fmt.Printf("第%d个学生的成绩：%d \n", key+1, value)
	// }

	// err := test()
	// if err != nil {
	// 	fmt.Println("自定义错误：", err)
	// 	panic(err)
	// }
	// fmt.Println("程序正常结束")

	var now = time.Now()
	fmt.Printf("年：%v \n", now.Year())
	fmt.Printf("月：%v \n", now.Month())
	fmt.Printf("月：%v \n", now.Month())
	fmt.Printf("月：%v \n", int(now.Month()))
	fmt.Printf("日：%v \n", int(now.Day()))
	fmt.Printf("时：%v \n", int(now.Hour()))
	fmt.Printf("分：%v \n", int(now.Minute()))
	fmt.Printf("秒：%v \n", int(now.Second()))

	f := getSum()
	fmt.Println(f(1))
	fmt.Println(f(2))
	fmt.Println(f(3))

}

func getSum() func(int) int {
	var sum int = 0
	return func(num int) int {
		sum = sum + num
		return sum
	}
}

// func test() (err error) {
// 	num1 := 10
// 	num2 := 0
// 	if num2 == 0 {
// 		return errors.New("除数不能为0")
// 	} else {
// 		result := num1 / num2
// 		fmt.Println(result)
// 		return nil
// 	}
// }

// func test1(arr *[3]int) {
// 	(*arr)[0] = 7
// }
